<!-- 基础：2、Vue实例 构造器 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
	<title>基础：2、Vue实例 构造器</title>
	<script type="text/javascript" src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>

	<!-- 构造器其实就是构造一个Vue实例来控制页面DOM 
		使用形式在demo1~demo5中已经用过很多次了，往构造器中传入一个选项对象，就能得到各种各样的vue实例了
		从面向对象的角度上说，每个vue实例其实就是一个类，选项对象就像是类的属性和方法，类之间的差异是由
		属性和方法决定的，vue实例的不同是由丰富的选项之间的差异决定的
		var vm = new Vue({
			// 选项
		})

		假设有很多的vue实例的选项对象很多属性都是一样的，为了减少重复的劳动，
		我们可能会这样想，如果把相同的东西封装成一个组件，要实例化时用这个组件
		去构造多好啊！这其实就是vue中的组件构造器，可以用Vue.extend({})来定义
		一个组件构造器
		var MyComponent = Vue.extend({
			// 扩展选项
		})

		现在这个组件构造器叫MyComponent，我们只需要像实例化Vue时去new它就可以创建组件实例了
		所有的Vue.js组件其实都是被扩展的Vue实例
		var myComponentInstance = new MyComponent()

		这里你可能会将Vue.extend({})跟Vue.component({})混淆了
		Vue.extend({})创建的是一个组件构造器，Vue.compont({})创建的是一个自定义元素，前者创建的组件构造器可被后者所注册
		建议使用第二种
	-->
       
</body>
</html>
<!-- 代码均通过测试，有什么纰漏欢迎联系 QQ:1123176978  Wechat:hyhlovehuanong -->